package cn.kent.proxyPattern;

/**
 * 定一个丑陋的王婆
 *
 * @author kent
 * @date 2021/5/8 10:24
 */
public class WangPo implements KindWomen {
    private final KindWomen kindWomen;

    /**
     * 默认是潘金莲的代理
     */
    public WangPo() {
        this.kindWomen = new PanJinLian();
    }

    /**
     * 可以是任何实现了kindWoman特性的代理
     *
     * @param kindWomen 代理接口
     */
    public WangPo(KindWomen kindWomen) {
        this.kindWomen = kindWomen;
    }

    @Override
    public void makeEyesWithMan() {
        // 可以做一些代理的事情。。。譬如收钱
        System.out.println("王婆收钱, 告诉庆庆可以开始了...");
        this.kindWomen.makeEyesWithMan(); //王婆这么大年龄了，谁看她抛媚眼？！
        // 潘潘做完了之后，可以做一些介绍人[代理]该做的事情，譬如....
        System.out.println(this.kindWomen.getClass().getName() + "搞完了，王婆问候一哈。");
    }

    @Override
    public void happyWithMan() {
        this.kindWomen.happyWithMan(); //自己老了，干不了，可以让年轻的代替
    }
}
